package com.cidp.system.service;

import java.io.Serializable;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import com.cidp.system.model.Toperator;
import com.litt.core.exception.BusiException;
import com.litt.core.page.IPageList;
import com.litt.core.page.PageParam;
import com.litt.core.page.PagePoParam;

/**
 * <b>标题：</b>操作员管理Service接口类.
 * <pre><b>描述</b>
 *    操作员管理
 * </pre>
 * 
 * @author <a href="mailto:littcai@hotmail.com">空心大白菜</a>
 * @since 2008-4-10
 * @version 1.0
 */
public interface IOperatorService {

	/**
	 * 读取操作员信息
	 * @param opId 操作员ID
	 * @return Toperator对象
	 */
	public Toperator load(Long opId)  throws BusiException;

	/**
	 * 逻辑删除操作员.
	 * 
	 * @param opId 操作员ID
	 */
	public void deleteLogic(Long opId)  throws BusiException;

	/**
	 * 恢复逻辑删除的操作员.
	 * 
	 * @param opId 操作员ID
	 */
	public void resumeLogic(Long opId)  throws BusiException;
	
	/**
	 * 根据登陆ID查找
	 * @param loginId 登陆ID
	 * @return Toperator对象
	 */
	public Toperator loadByLoginId(String loginId)  throws BusiException;
	
	/**
	 * 注销操作员
	 * 
	 * @param opId
	 */
	public void logoutLogic(Long opId)  throws BusiException;
	
	/**
	 * 不可改变操作员
	 * 
	 * @param opId
	 */
	public void nochangeLogic(Long opId)  throws BusiException;

	/**
	 * 分页查询用户
	 * @param pageParam 分页参数对象
	 * 
	 * @return IPageList对象
	 */
	public IPageList listByPage(PagePoParam pagePoParam)  throws BusiException;

	
	/**
     * 根据对象保存.
     * @param Toperator 对象
     * @return Long 主键值
     */
	public Long save(Toperator obj)  throws BusiException;
	/**
     * 根据对象更新
     * @param Toperator 对象
     */
	public void update(Toperator obj)  throws BusiException;
	/**
     * 根据对象删除
     * @param Toperator 对象
     */
	public void delete(Toperator obj)  throws BusiException;
	/**
	 * 操作员在线.
	 * 
	 * @param opId 操作员ID
	 */
	public void online(Long opId)  throws BusiException;
	/**
	 * 操作员不在线.
	 * 
	 * @param opId 操作员ID
	 */
	public void unline(Long opId)  throws BusiException;
	/**
     * 根据序号删除
     * @param id 主键值
     */
	public void deleteById(Long id) throws BusiException;
	/**
	 * 是否存在loginId
	 * @param loginId
	 * @return
	 * @throws BusiException
	 */
	public boolean doIsLongId(String loginId,String loginPassword) throws BusiException;
	
	public boolean doIsLongById(String loginId) throws BusiException;
	
	public List loadRight(String opName) throws BusiException;
	
	public void doLogOut(String loginId,HttpServletRequest request) throws BusiException;
}